package com.xbts.screen.mapper;

import com.xbts.common.core.web.domain.BasePieChartResult;
import com.xbts.screen.domain.dto.HistogramDto;
import com.xbts.screen.domain.workshop.dto.CommonQueryDTO;
import com.xbts.screen.domain.workshop.dto.ConsumeMeterDataDTO;
import com.xbts.screen.domain.workshop.dto.RealTimeAchievementRateDTO;
import com.xbts.screen.domain.workshop.vo.*;

import java.util.List;

/**
 * 车间公共查询
 */
public interface WorkshopCommonMapper {

    /**
     * 达成率实时统计
     */
    List<RealTimeAchievementRateDTO> realTimeAchievementRate(CommonQueryDTO dto);

    /**
     * 排产计划
     */
    List<ProductionScheduleVO> productionSchedule(CommonQueryDTO dto);

    /**
     * 料号批次合格率记录
     */
    List<PassRateRecordVO> passRateRecord(CommonQueryDTO dto);

    /**
     * 前5大不良统计
     */
    List<BasePieChartResult> badStatistics(CommonQueryDTO dto);

    /**
     * 前5大报废统计
     */
    List<BasePieChartResult> scrapStatistics(CommonQueryDTO dto);
    /**
     * 合格率
     */
    PassRateVO passRate(CommonQueryDTO dto);
    /**
     * 报废率
     */
    ScrapRateVO scrapRate(CommonQueryDTO dto);
    /**
     * 合格率趋势图
     */
    List<HistogramDto> passRateTrend(CommonQueryDTO dto);

    /**
     * 获取车间产出及水电单耗目标
     */
    List<ConsumeDetailsVO> consumeDetailsByDateType(CommonQueryDTO dto);

    /**
     * 获取车间水表 电表 读数
     */
    List<ConsumeMeterDataVO> getConsumeMeterData(ConsumeMeterDataDTO dto);
}
